home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Leser 15 / Amiga Plus Leser CD 15.iso / Tools / Development / CIT.v4 / citra / CITListBrowser.h < prev    next >
Encoding:
C/C++ Source or Header  |  2002-03-13  |  7.4 KB  |  197 lines

  1. //
  2. //                    CITListBrowser include
  3. //
  4. //                          StormC
  5. //
  6. //                     version 2002.01.27
  7. //
  8.  
  9. #ifndef CIT_LISTBROWSER_H
  10. #define CIT_LISTBROWSER_H TRUE
  11.  
  12. #ifndef CIT_GADGETS_H
  13. #include "CITGadget.h"
  14. #endif
  15.  
  16. #include <gadgets/listbrowser.h>
  17.  
  18. //
  19. // This enum is for internal use only
  20. //
  21. enum
  22. {
  23.   CITLISTBROWSER_LABELS = 0,
  24.   CITLISTBROWSER_TOP,
  25.   CITLISTBROWSER_MAKEVISIBLE,
  26.   CITLISTBROWSER_SPACING,
  27.   CITLISTBROWSER_SELECTED,
  28.   CITLISTBROWSER_MULTISELECT,
  29.   CITLISTBROWSER_SHOWSELECTED,
  30.   CITLISTBROWSER_VERTSEPARATORS,
  31.   CITLISTBROWSER_HORIZSEPARATORS,
  32.   CITLISTBROWSER_BORDERLESS,
  33.   CITLISTBROWSER_COLUMNINFO,
  34.   CITLISTBROWSER_COLUMNTITLES,
  35.   CITLISTBROWSER_AUTOFIT,
  36.   CITLISTBROWSER_VIRTUALWIDTH,
  37.   CITLISTBROWSER_LEFT,
  38.   CITLISTBROWSER_VERTICALPROP,
  39.   CITLISTBROWSER_HORIZONTALPROP,
  40.   CITLISTBROWSER_VPROPTOTAL,
  41.   CITLISTBROWSER_VPROPTOP,
  42.   CITLISTBROWSER_VPROPVISIBLE,
  43.   CITLISTBROWSER_HPROPTOTAL,
  44.   CITLISTBROWSER_HPROPTOP,
  45.   CITLISTBROWSER_HPROPVISIBLE,
  46.   CITLISTBROWSER_VIEWPOSITION,
  47.   CITLISTBROWSER_SCROLLRASTER,
  48.   CITLISTBROWSER_HIERARCHICAL,
  49.   CITLISTBROWSER_SHOWIMAGE,
  50.   CITLISTBROWSER_HIDEIMAGE,
  51.   CITLISTBROWSER_LEAFIMAGE,
  52.   CITLISTBROWSER_EDITABLE,
  53.   CITLISTBROWSER_EDITNODE,
  54.   CITLISTBROWSER_EDITCOLUMN,
  55.   CITLISTBROWSER_EDITTAGS,
  56.   CITLISTBROWSER_CHECKIMAGE,
  57.   CITLISTBROWSER_UNCHECKEDIMAGE,
  58.   CITLISTBROWSER_MINNODESIZE,
  59.   CITLISTBROWSER_TITLECLICKABLE,
  60.   CITLISTBROWSER_MINVISIBLE,
  61.   CITLISTBROWSER_PERSISTSELECT,
  62.   CITLISTBROWSER_CURSORSELECT,
  63.   CITLISTBROWSER_FASTRENDER,
  64.   CITLISTBROWSER_WRAPTEXT,
  65.   CITLISTBROWSER_LAST
  66. };
  67.  
  68. class CITListBrowser:public CITGadget
  69. {
  70.   public:
  71.     CITListBrowser();
  72.     ~CITListBrowser();
  73.  
  74.     void Labels(char** labels);
  75.     void Labels(List* labels)
  76.            {setTag(CITLISTBROWSER_LABELS,LISTBROWSER_Labels,ULONG(labels));}
  77.     void Top(LONG top)
  78.            {setTag(CITLISTBROWSER_TOP,LISTBROWSER_Top,top);}
  79.     void MakeVisible(LONG mv)
  80.            {setTag(CITLISTBROWSER_MAKEVISIBLE,LISTBROWSER_MakeVisible,mv);}
  81.     void Spacing(WORD spacing)
  82.            {setTag(CITLISTBROWSER_SPACING,LISTBROWSER_Spacing,spacing);}
  83.     void Selected(LONG sel)
  84.            {setTag(CITLISTBROWSER_SELECTED,LISTBROWSER_Selected,sel);}
  85.     void MultiSelect(BOOL b = TRUE)
  86.            {setTag(CITLISTBROWSER_MULTISELECT,LISTBROWSER_MultiSelect,b);}
  87.     void ShowSelected(BOOL b = TRUE)
  88.            {setTag(CITLISTBROWSER_SHOWSELECTED,LISTBROWSER_ShowSelected,b);}
  89.     void VertSeparators(BOOL b = TRUE)
  90.            {setTag(CITLISTBROWSER_VERTSEPARATORS,LISTBROWSER_VertSeparators,b);}
  91.     void HorizSeparators(BOOL b = TRUE)
  92.            {setTag(CITLISTBROWSER_HORIZSEPARATORS,LISTBROWSER_HorizSeparators,b);}
  93.     void Borderless(BOOL b = TRUE)
  94.            {setTag(CITLISTBROWSER_BORDERLESS,LISTBROWSER_Borderless,b);}
  95.     void ColumnInfo(struct ColumnInfo* cInfo)
  96.            {setTag(CITLISTBROWSER_COLUMNINFO,LISTBROWSER_ColumnInfo,ULONG(cInfo));}
  97.     void ColumnTitles(BOOL b = TRUE)
  98.            {setTag(CITLISTBROWSER_COLUMNTITLES,LISTBROWSER_ColumnTitles,b);}
  99.     void AutoFit(BOOL b = TRUE)
  100.            {setTag(CITLISTBROWSER_AUTOFIT,LISTBROWSER_AutoFit,b);}
  101.     void VirtualWidth(WORD width)
  102.            {setTag(CITLISTBROWSER_VIRTUALWIDTH,LISTBROWSER_VirtualWidth,width);}
  103.     void Left(WORD left)
  104.            {setTag(CITLISTBROWSER_LEFT,LISTBROWSER_Left,left);}
  105.     void VerticalProp(BOOL b = TRUE)
  106.            {setTag(CITLISTBROWSER_VERTICALPROP,LISTBROWSER_VerticalProp,b);}
  107.     void HorizontalProp(BOOL b = TRUE)
  108.            {setTag(CITLISTBROWSER_HORIZONTALPROP,LISTBROWSER_HorizontalProp,b);}
  109.     void VPropTotal(WORD total)
  110.            {setTag(CITLISTBROWSER_VPROPTOTAL,LISTBROWSER_VPropTotal,total);}
  111.     void VPropTop(WORD top)
  112.            {setTag(CITLISTBROWSER_VPROPTOP,LISTBROWSER_VPropTop,top);}
  113.     void VPropVisible(WORD visible)
  114.            {setTag(CITLISTBROWSER_VPROPVISIBLE,LISTBROWSER_VPropVisible,visible);}
  115.     void HPropTotal(WORD total)
  116.            {setTag(CITLISTBROWSER_HPROPTOTAL,LISTBROWSER_HPropTotal,total);}
  117.     void HPropTop(WORD top)
  118.            {setTag(CITLISTBROWSER_HPROPTOP,LISTBROWSER_HPropTop,top);}
  119.     void HPropVisible(WORD visible)
  120.            {setTag(CITLISTBROWSER_HPROPVISIBLE,LISTBROWSER_HPropVisible,visible);}
  121.     void ViewPosition(ULONG pos)
  122.            {setTag(CITLISTBROWSER_VIEWPOSITION,LISTBROWSER_Position,pos);}
  123.     void ScrollRaster(BOOL b = TRUE)
  124.            {setTag(CITLISTBROWSER_SCROLLRASTER,LISTBROWSER_ScrollRaster,b);}
  125.     void Hierarchical(BOOL b = TRUE)
  126.            {setTag(CITLISTBROWSER_HIERARCHICAL,LISTBROWSER_Hierarchical,b);}
  127.     void ShowImage(struct Image* im)
  128.            {setTag(CITLISTBROWSER_SHOWIMAGE,LISTBROWSER_ShowImage,ULONG(im));}
  129.     void HideImage(struct Image* im)
  130.            {setTag(CITLISTBROWSER_HIDEIMAGE,LISTBROWSER_HideImage,ULONG(im));}
  131.     void LeafImage(struct Image* im)
  132.            {setTag(CITLISTBROWSER_LEAFIMAGE,LISTBROWSER_LeafImage,ULONG(im));}
  133.     void Editable(BOOL b = TRUE)
  134.            {setTag(CITLISTBROWSER_EDITABLE,LISTBROWSER_Editable,b);}
  135.     void EditNode(LONG node)
  136.            {setTag(CITLISTBROWSER_EDITNODE,LISTBROWSER_EditNode,node);}
  137.     void EditColumn(WORD col)
  138.            {setTag(CITLISTBROWSER_EDITCOLUMN,LISTBROWSER_EditColumn,col);}
  139.     void EditTags(struct TagList* list)
  140.            {setTag(CITLISTBROWSER_EDITTAGS,LISTBROWSER_EditTags,ULONG(list));}
  141.     void CheckImage(struct Image* im)
  142.            {setTag(CITLISTBROWSER_CHECKIMAGE,LISTBROWSER_CheckImage,ULONG(im));}
  143.     void UncheckedImage(struct Image* im)
  144.            {setTag(CITLISTBROWSER_UNCHECKEDIMAGE,LISTBROWSER_UncheckedImage,ULONG(im));}
  145.     void MinNodeSize(LONG nSize)
  146.            {setTag(CITLISTBROWSER_MINNODESIZE,LISTBROWSER_MinNodeSize,nSize);}
  147.     void TitleClickable(BOOL b = TRUE)
  148.            {setTag(CITLISTBROWSER_TITLECLICKABLE,LISTBROWSER_TitleClickable,b);}
  149.     void MinVisible(LONG mVisible)
  150.            {setTag(CITLISTBROWSER_MINVISIBLE,LISTBROWSER_MinVisible,mVisible);}
  151.     void PersistSelect(BOOL b = TRUE)
  152.            {setTag(CITLISTBROWSER_PERSISTSELECT,LISTBROWSER_PersistSelect,b);}
  153.     void CursorSelect(LONG cSelect)
  154.            {setTag(CITLISTBROWSER_CURSORSELECT,LISTBROWSER_CursorSelect,cSelect);}
  155.     void FastRender(BOOL b = TRUE)
  156.            {setTag(CITLISTBROWSER_FASTRENDER,LISTBROWSER_FastRender,b);}
  157.     void WrapText(BOOL b = TRUE)
  158.            {setTag(CITLISTBROWSER_WRAPTEXT,LISTBROWSER_WrapText,b);}
  159.  
  160.     LONG  Top()
  161.             {return getTag(LISTBROWSER_Top);}
  162.     LONG  Selected()
  163.             {return getTag(LISTBROWSER_Selected);}
  164.     LONG  NumSelected()
  165.             {return getTag(LISTBROWSER_NumSelected);}
  166.     ULONG RelEvent()
  167.             {return getTag(LISTBROWSER_RelEvent);}
  168.     WORD  MouseX()
  169.             {return getTag(LISTBROWSER_MouseX);}
  170.     WORD  MouseY()
  171.             {return getTag(LISTBROWSER_MouseY);}
  172.     WORD  RelColumn()
  173.             {return getTag(LISTBROWSER_RelColumn);}
  174.     LONG  TotalNodes()
  175.             {return getTag(LISTBROWSER_TotalNodes);}
  176.     LONG  CursorSelect()
  177.             {return getTag(LISTBROWSER_CursorSelect);}
  178.     Node* CursorNode()
  179.             {return (Node*)getTag(LISTBROWSER_CursorNode);}
  180.     LONG  TotalVisibleNodes()
  181.             {return getTag(LISTBROWSER_TotalVisibleNodes);}
  182.  
  183.   protected:
  184.     virtual BOOL    Create(CITWindow* CITWd,class CITRootClass* parent);
  185.     virtual Object* NewObjectA(TagItem* tags);
  186.     //virtual void    HandleEvent(ULONG result,UWORD code);
  187.  
  188.   private:
  189.     void  setTag(int index,ULONG attr,ULONG val);
  190.     ULONG getTag(ULONG attr);
  191.  
  192.     TagItem* listBrowserTag;
  193.     CITList  labelList;
  194. };
  195.  
  196. #endif
  197.